package repository;

import java.util.List;

import command.SearchForm;

import domain.User;
import domain.exceptions.DuplicateException;

public interface UserRepository {
	public User validate(String docnumber, String password);
	public User getUser(int id);
	public User getUser(String docnumber, String email);
	public User getUserByDocNumber(String username);
	public User getUserByEmail(String email);
	public void newUser(User user) throws DuplicateException;
	public List<User> getRegisteredUsers();
	public List<User> getRegularConfirmedUsers();
	public List<User> getAdminUsers();
	public void deleteUser(User user);
	public List<User> getPendingUserRequests();
	public List<User> search(SearchForm searchForm);
	public List<User> searchByName(String name);
	public User getAdminUserWithSocialToken();
	public void updateUser(User user);
}
